+Fri Nov 13 16:43:36 1998 Lars Hamann <lars@gtk.org>
+
+ * gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't
+ show event_window
+ (gtk_toggle_button_map) (gtk_toggle_button_unmap): show/hide
+ event_window if draw_indicator is set
+ (gtk_toggle_button_set_mode):
+
Thu Nov 12 15:33:54 PST 1998 Manish Singh <yosh@gimp.org>
* gtk/gtkitemfactory.c: cast NULL to GtkItemFactoryCallback to
+Fri Nov 13 16:43:36 1998 Lars Hamann <lars@gtk.org>
+
+ * gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't
+ show event_window
+ (gtk_toggle_button_map) (gtk_toggle_button_unmap): show/hide
+ event_window if draw_indicator is set
+ (gtk_toggle_button_set_mode):
+
Thu Nov 12 15:33:54 PST 1998 Manish Singh <yosh@gimp.org>
* gtk/gtkitemfactory.c: cast NULL to GtkItemFactoryCallback to
+Fri Nov 13 16:43:36 1998 Lars Hamann <lars@gtk.org>
+
+ * gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't
+ show event_window
+ (gtk_toggle_button_map) (gtk_toggle_button_unmap): show/hide
+ event_window if draw_indicator is set
+ (gtk_toggle_button_set_mode):
+
Thu Nov 12 15:33:54 PST 1998 Manish Singh <yosh@gimp.org>
* gtk/gtkitemfactory.c: cast NULL to GtkItemFactoryCallback to
+Fri Nov 13 16:43:36 1998 Lars Hamann <lars@gtk.org>
+
+ * gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't
+ show event_window
+ (gtk_toggle_button_map) (gtk_toggle_button_unmap): show/hide
+ event_window if draw_indicator is set
+ (gtk_toggle_button_set_mode):
+
Thu Nov 12 15:33:54 PST 1998 Manish Singh <yosh@gimp.org>
* gtk/gtkitemfactory.c: cast NULL to GtkItemFactoryCallback to
+Fri Nov 13 16:43:36 1998 Lars Hamann <lars@gtk.org>
+
+ * gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't
+ show event_window
+ (gtk_toggle_button_map) (gtk_toggle_button_unmap): show/hide
+ event_window if draw_indicator is set
+ (gtk_toggle_button_set_mode):
+
Thu Nov 12 15:33:54 PST 1998 Manish Singh <yosh@gimp.org>
* gtk/gtkitemfactory.c: cast NULL to GtkItemFactoryCallback to
+Fri Nov 13 16:43:36 1998 Lars Hamann <lars@gtk.org>
+
+ * gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't
+ show event_window
+ (gtk_toggle_button_map) (gtk_toggle_button_unmap): show/hide
+ event_window if draw_indicator is set
+ (gtk_toggle_button_set_mode):
+
Thu Nov 12 15:33:54 PST 1998 Manish Singh <yosh@gimp.org>
* gtk/gtkitemfactory.c: cast NULL to GtkItemFactoryCallback to
+Fri Nov 13 16:43:36 1998 Lars Hamann <lars@gtk.org>
+
+ * gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't
+ show event_window
+ (gtk_toggle_button_map) (gtk_toggle_button_unmap): show/hide
+ event_window if draw_indicator is set
+ (gtk_toggle_button_set_mode):
+
Thu Nov 12 15:33:54 PST 1998 Manish Singh <yosh@gimp.org>
* gtk/gtkitemfactory.c: cast NULL to GtkItemFactoryCallback to
static void gtk_toggle_button_leave (GtkButton *button);
static void gtk_toggle_button_realize (GtkWidget *widget);
static void gtk_toggle_button_unrealize (GtkWidget *widget);
+static void gtk_toggle_button_map (GtkWidget *widget);
+static void gtk_toggle_button_unmap (GtkWidget *widget);
static guint toggle_button_signals[LAST_SIGNAL] = { 0 };
static GtkContainerClass *parent_class = NULL;
widget_class->draw = gtk_toggle_button_draw;
widget_class->realize = gtk_toggle_button_realize;
widget_class->unrealize = gtk_toggle_button_unrealize;
+ widget_class->map = gtk_toggle_button_map;
+ widget_class->unmap = gtk_toggle_button_unmap;
button_class->pressed = gtk_toggle_button_pressed;
button_class->released = gtk_toggle_button_released;
toggle_button->event_window =
gdk_window_new (gtk_widget_get_parent_window (widget), &attributes, attributes_mask);
- gdk_window_show(toggle_button->event_window);
gdk_window_set_user_data (toggle_button->event_window, toggle_button);
}
else
if (GTK_WIDGET_CLASS (parent_class)->unrealize)
(* GTK_WIDGET_CLASS (parent_class)->unrealize) (widget);
}
+
+static void
+gtk_toggle_button_map (GtkWidget *widget)
+{
+ g_return_if_fail (widget != NULL);
+ g_return_if_fail (GTK_IS_TOGGLE_BUTTON (widget));
+
+ if (GTK_WIDGET_REALIZED (widget) && !GTK_WIDGET_MAPPED (widget))
+ if (GTK_TOGGLE_BUTTON (widget)->draw_indicator)
+ gdk_window_show (GTK_TOGGLE_BUTTON (widget)->event_window);
+
+ GTK_WIDGET_CLASS (parent_class)->map (widget);
+}
+
+static void
+gtk_toggle_button_unmap (GtkWidget *widget)
+{
+ g_return_if_fail (widget != NULL);
+ g_return_if_fail (GTK_IS_TOGGLE_BUTTON (widget));
+
+ if (GTK_WIDGET_MAPPED (widget))
+ if (GTK_TOGGLE_BUTTON (widget)->draw_indicator)
+ gdk_window_hide (GTK_TOGGLE_BUTTON (widget)->event_window);
+
+ GTK_WIDGET_CLASS (parent_class)->unmap (widget);
+}